.TH "V" 1
.SH NAME
V \- A concatenative programming language
.SH SYNOPSIS
.B v [-l libpath] [source.v]
.SH DESCRIPTION
V is a concatenative (stack based) language. The style is similar
to Postscript and Joy. It provides the primitives for handling stack,
local definitions, modules and exceptions. It is a purely functional
language with single assignment syntax and is based on Combinatory Calculus.
It comes with a simple integrated GC.
.PP
.SH OPTIONS
.TP
\-l
Provide the library path (location of std.v)
.TP
\-h
display a short help text

.SH FUNCTIONS
All functions that start with '?' are functions useful for debugging. They
do not change the system's state or modify the stack. You can use them in the
middle of expressions with out bothering about the effects. The functions that
start with '$' capture some state of the system and make them available in the
stack to be manipulated. The functions that start with '&' take an environment
as the top term in the stack. The functions that end with '?' are predicates
that leave a boolean value in the stack. Those that end with '!' consume the
stack destructively compared to their counterparts (they will generally have a
twin that does the same with out removing elements from stack). Functions that
starts with '>' are convertion functions converting from one datatype to
another.

.SS meta
&. . &parent $me module &words i &i use &use eval &eval $stack
stack! let throw catch env
.SS stack or list manipulation
view trans drop take dup pop swap lroll rroll rollup rolldown rotate rollupd dip rolldownd rotated cons unit concat dupd popd swapd dipd x id uncons first rest xor of swons reverse shunt swoncat unitlist size at 
.SS combinators
binrec genrec linrec powerlist tailrec primrec treestep treeshunt treeflatten treerec treegenrec treereverse treemap
.SS functional
step! step map! map filter! filter split! split fold! fold 
.SS predicates
= != > < <= >= int? decimal? bool? symbol? list? char? number? string? in? zero? empty? null? small? has? leaf? all? some?
.SS conversion
>string >int >decimal >bool >char >def 
.SS control structures
and or not choice ifte if while

.SS debug
?? ?stack ? ?debug ?frame
.SS arithmetic
+ - * / sqrt pred succ max min 
.SS others
abort puts put help .time! all! some! 
.SH LIBRARIES
.SS std
Provides definitions for commonly used words.

.SH AUTHOR
    rahul <blufox at gmail dot com>

.SH SEE ALSO
vfunctions(1), vtutorial(1)

.SH BUGS
The -l libpath option only takes a single value. It should take an argument in PATH format.
